package pos.domain;
import java.util.Calendar;
import java.util.LinkedList;
import java.util.List;



public class Evento {
	
	/**
	 * Informaci�n sobre el evento
	 * @uml.property  name="descripcion"
	 */
	private String descripcion;
	/**
	 * Titulo del evento
	 * @uml.property  name="titulo"
	 */
	private String titulo;
	/** 
	 * @uml.property name="administrador"
	 * @uml.associationEnd inverse="eventos:Clases.domain.Administrador"
	 */
	private Administrador administrador = null;
	/**
	 * Fecha de inicio del evento
	 * @uml.property  name="fechaInicio"
	 */
	private String fechaInicio;
	/**
	 * Fecha de expiraci�n del evento
	 * @uml.property  name="fechaFin"
	 */
	private String fechaFin;
	/**
	 * fecha de posteo del evento
	 * @uml.property  name="fechaPublicacion"
	 */
	private String fechaPublicacion;


	@SuppressWarnings("deprecation")
	public Evento(){
	
		this.fechaInicio = Calendar.getInstance().getTime().toLocaleString();
		this.fechaFin = Calendar.getInstance().getTime().toLocaleString();
		this.fechaPublicacion =  Calendar.getInstance().getTime().toLocaleString();
		this.descripcion = "";
		this.titulo = "";
		this.administrador = null;
	}
	
		public Evento(String fechaInicio, String fechaFin, String fechaPublicacion,
			String descripcion, String titulo, Administrador administrador) {
		super();
	
		this.fechaInicio = fechaInicio;
		this.fechaFin = fechaFin;
		this.fechaPublicacion = fechaPublicacion;
		this.descripcion = descripcion;
		this.titulo = titulo;
		this.administrador = administrador;
	}

	/** 
	 * Getter of the property <tt>Evento</tt>
	 * @return  Returns the evento.
	 * @uml.property  name="titulo"
	 */
	public String getTitulo() {
		return titulo;
	}

	/** 
	 * Setter of the property <tt>Evento</tt>
	 * @param Evento  The evento to set.
	 * @uml.property  name="titulo"
	 */
	public void setTitulo(String titulo) {
		this.titulo = titulo;
	}

	/** 
	 * Getter of the property <tt>Descripcion</tt>
	 * @return  Returns the descripcion.
	 * @uml.property  name="descripcion"
	 */
	public String getDescripcion() {
		return descripcion;
	}

	/** 
	 * Setter of the property <tt>Descripcion</tt>
	 * @param Descripcion  The descripcion to set.
	 * @uml.property  name="descripcion"
	 */
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	/**
	 * Getter of the property <tt>fechaInicio</tt>
	 * @return  Returns the fechaInicio.
	 * @uml.property  name="fechaInicio"
	 */
	public String getFechaInicio() {
		return fechaInicio;
	}

	/**
	 * Setter of the property <tt>fechaInicio</tt>
	 * @param fechaInicio  The fechaInicio to set.
	 * @uml.property  name="fechaInicio"
	 */
	public void setFechaInicio(String fechaInicio) {
		this.fechaInicio = fechaInicio;
	}

	

	/**
	 * Getter of the property <tt>fechaFin</tt>
	 * @return  Returns the fechaFin.
	 * @uml.property  name="fechaFin"
	 */
	public String getFechaFin() {
		return fechaFin;
	}

	/**
	 * Setter of the property <tt>fechaFin</tt>
	 * @param fechaFin  The fechaFin to set.
	 * @uml.property  name="fechaFin"
	 */
	public void setFechaFin(String fechaFin) {
		this.fechaFin = fechaFin;
	}

	/**
	 * Getter of the property <tt>fechaPublicacion</tt>
	 * @return  Returns the fechaPublicacion.
	 * @uml.property  name="fechaPublicacion"
	 */
	public String getFechaPublicacion() {
		return fechaPublicacion;
	}

	/**
	 * Setter of the property <tt>fechaPublicacion</tt>
	 * @param fechaPublicacion  The fechaPublicacion to set.
	 * @uml.property  name="fechaPublicacion"
	 */
	public void setFechaPublicacion(String fechaPublicacion) {
		this.fechaPublicacion = fechaPublicacion;
	}


	/** 
	 * Getter of the property <tt>administrador</tt>
	 * @return  Returns the administrador.
	 * @uml.property  name="administrador"
	 */
	public Administrador getAdministrador() {
		return administrador;
	}

	/** 
	 * Setter of the property <tt>administrador</tt>
	 * @param administrador  The administrador to set.
	 * @uml.property  name="administrador"
	 */
	public void setAdministrador(Administrador administrador) {
		this.administrador = administrador;
	}

	/**
	 * @uml.property  name="puntos"
	 * @uml.associationEnd  multiplicity="(0 -1)" ordering="true" aggregation="composite" inverse="evento:Clases.domain.Punto"
	 */
	private List<Punto> puntos = new LinkedList<Punto>();

	/**
	 * Getter of the property <tt>puntos</tt>
	 * @return  Returns the puntos.
	 * @uml.property  name="puntos"
	 */
	public List<Punto> getPuntos() {
		return puntos;
	}
	
	public void setPuntos(List<Punto> puntos){
		this.puntos=puntos;
	}

	@Override
	public String toString() {
		return "Evento [administrador=" + administrador + ", descripcion="
				+ descripcion + ", fechaFin=" + fechaFin + ", fechaInicio="
				+ fechaInicio + ", fechaPublicacion=" + fechaPublicacion
				+ ", puntos=" + puntos + ", titulo=" + titulo + "]";
	}


}
